package bgw

import (
	"github.com/spf13/cast"
	"math"
)

type Response struct {
	Code int64       `json:"code"`
	Msg  string      `json:"msg"`
	Data interface{} `json:"data"`
}

// 提现申请结果

type WithdrawResponseData struct {
	OrderNo      string `json:"orderNo"`      // "${BGW 订单唯一标识，长度25}",
	OuterNo      string `json:"outerNo"`      // "${商户订单唯一标识}",
	AppId        int64  `json:"appId"`        // ${商户应用编号（AppID）},
	CurrencyId   int64  `json:"currencyId"`   // ${币种编号，详见 附录一},
	Amount       int64  `json:"amount"`       // ${提现额度，这里根据精度调整了单位，如果 scale=2 时，1000 表示 10},
	Scale        int64  `json:"scale"`        // ${精度值，固定为6},
	Type         int64  `json:"type"`         // ${提现类型 0-小额提款 1-中额提款 2-大额提款 详情见 附录四},
	CurrencyName string `json:"currencyName"` // "${币种名称}",
	CreateTime   int64  `json:"createTime"`   // ${订单创建时间}
}

func (w *WithdrawResponseData) calAmount() {
	w.Amount = cast.ToInt64(cast.ToFloat64(w.Amount) / math.Pow(10, cast.ToFloat64(w.Scale)))
}
